package com.wenx.v3system.modular.platform.service;

import com.wenx.v3system.modular.platform.domain.dto.PlatformMenuDto;

import java.util.List;
import java.util.Map;

/**
 * 平台菜单服务接口
 * 简化权限模型 - 基于菜单的权限控制
 * 
 * @author wenx
 */
public interface PlatformMenuService {

    /**
     * 获取所有菜单列表
     * 
     * @return 菜单列表
     */
    List<PlatformMenuDto> getAllMenus();

    /**
     * 获取所有菜单的Map格式数据
     * 用于前端Transfer组件
     * 
     * @return 菜单Map列表
     */
    List<Map<String, Object>> getAllMenusAsMap();

    /**
     * 获取菜单分组的Map格式数据
     * 按分类分组的菜单数据
     * 
     * @return 分组菜单Map
     */
    Map<String, List<Map<String, Object>>> getMenuGroupsAsMap();

    /**
     * 获取所有菜单的权限码列表
     * 
     * @return 权限码列表
     */
    List<String> getAllMenuPermissionCodes();

}